home *** CD-ROM | disk | FTP | other *** search
/ MacUser ROM 45 / MACUSER-ROM-VOL-45-1997-08.ISO.7z / MACUSER-ROM-VOL-45-1997-08.ISO / 本誌連動 / 第9回:ウイークエンドデベロッパーへの道 / QuickCinema 1.0 / Source code / WindowUnit.c < prev   
Text File  |  1997-04-27  |  4KB  |  110 lines

  1. /*------------------------------------------------------------------------------
  2. *    プログラム名:    QuickCinema 1.0.0
  3. *    ファイル名:        WindowUnit.c
  4. *-----------------------------------------------------------------------------*/
  5.  
  6. #include "QuickCinema.h"
  7. #include "ProtoType.h"
  8.  
  9. //----------------------------------------------------------------------------------//
  10. //            定数定義                                                                //
  11. //----------------------------------------------------------------------------------//
  12.  
  13. //----------------------------------------------------------------------------------//
  14. //            グローバル変数                                                            //
  15. //----------------------------------------------------------------------------------//
  16.  
  17. extern Boolean                gQuitApplication;
  18. extern Boolean                gIsBackground;
  19. extern SInt32                gSleepTime;
  20. extern AEAddressDesc        gSelfAddress;
  21.  
  22. //----------------------------------------------------------------------------------//
  23. //            プロトタイプ                                                            //
  24. //----------------------------------------------------------------------------------//
  25.  
  26. // void ShowTemporaryWindow(void)を削除し、ムービーウィンドウ専用の
  27. // 表示ルーチンをMovieTheater.c上に作成する
  28.  
  29. //----------------------------------------------------------------------------------//
  30. // ウィンドウの廃棄処理                                                                //
  31. //----------------------------------------------------------------------------------//
  32. void CloseTheWindow(WindowRef window)
  33. {
  34.     if (IsDAWindow(window))
  35.         CloseDeskAcc(((WindowPeek)window)->windowKind);
  36.     else
  37.     {
  38.         // ムービーウィンドウ専用の処理を実行する
  39.         if (IsMovieWindow(window))
  40.             DisposeMovieWindow(window);
  41.         else
  42.         {
  43.             CloseWindow(window);
  44.             DisposePtr((Ptr)window);
  45.         }
  46.     }
  47. }
  48.  
  49. //----------------------------------------------------------------------------------//
  50. // アップデートイベント処理                                                            //
  51. //----------------------------------------------------------------------------------//
  52. void HandleUpdateWindow(WindowRef window)
  53. {
  54.     GrafPtr                    savePort;
  55.     RgnHandle                updateRgn;
  56.     
  57.     GetPort(&savePort);
  58.     SetPort(window);
  59.  
  60.     BeginUpdate(window);
  61.  
  62.     updateRgn = GetWindowPort(window)->visRgn;
  63.  
  64.     if (!EmptyRgn(updateRgn))
  65.     {
  66.         EraseRgn(updateRgn);
  67.     }
  68.  
  69.     EraseRect(&window->portRect);    
  70.     EndUpdate(window);
  71.  
  72.     SetPort(savePort);
  73. }
  74.  
  75. //----------------------------------------------------------------------------------//
  76. // アクティベートイベント処理                                                        //
  77. //----------------------------------------------------------------------------------//
  78. void HandleActivateWindow(WindowRef window, Boolean becomeActive)
  79. {
  80.     // ムービーウィンドウ専用の処理を実行する
  81.     if (IsMovieWindow(window))
  82.         HandleMovieActivate(window, becomeActive);
  83. }
  84.  
  85. //----------------------------------------------------------------------------------//
  86. // コンテントリージョンに対するイベント処理                                            //
  87. //----------------------------------------------------------------------------------//
  88. void HandleContentWindow(WindowRef window, const EventRecord *event)
  89. {
  90. #pragma unused (event)
  91.  
  92.     if (window != FrontWindow()) 
  93.         SelectWindow(window);
  94.     else
  95.     {
  96.     }
  97. }
  98.  
  99. //----------------------------------------------------------------------------------//
  100. // タイトルバーに対するイベント処理                                                    //
  101. //----------------------------------------------------------------------------------//
  102. void HandleDragWindow(WindowRef window, const EventRecord *event)
  103. {
  104.     // ムービーウィンドウ専用の処理を実行する
  105.     if (IsMovieWindow(window))
  106.         DragAlignedWindow(window, event->where, 
  107.                             &qd.screenBits.bounds, nil, nil);
  108.     else
  109.         DragWindow(window, event->where, &qd.screenBits.bounds);
  110. }